Edwards Curves

Same equation for adding and doubling means decreased risk of side-channel attacks.

Twisted Edwards curves are a generalisation of Edwards curves, since any normal Edwards curve can be represented as a Twisted Edwards curve with a twist of a=1a=1

Affine group law

(x1,y1)+(x2,y2)=(x1y2+x2y11+dx1x2y1y2,y1y2x1x21dx1x2y1y2)(x_1,y_1) + (x_2,y_2) = \left( \frac{x_1 y_2 + x_2 y_1}{1 + dx_1 x_2 y_1 y_2}, \frac{y_1 y_2 - x_1 x_2}{1 - dx_1 x_2 y_1 y_2} \right) \,

Projective group law

(X1:Y1:Z1)+(X2:Y2:Z2)=(X3:Y3:Z3)(X_1 : Y_1 : Z_1)+(X_2 : Y_2 : Z_2 )=(X_3 : Y_3 : Z_3 )

X3=Z1Z2(X1Y2+X2Y1)(Z12Z22dX1X2Y1Y2)X_3 = Z_{1}Z_{2}(X_{1}Y_{2} + X_{2}Y_{1})(Z_{1}^{2}Z_{2}^{2} - dX_{1}X_{2}Y_{1}Y_{2})
Y3=Z1Z2(Y1Y2X1X2)(Z12Z22+dX1X2Y1Y2)Y_3 = Z_{1}Z_{2}(Y_{1}Y_{2} - X_{1}X_{2})(Z_{1}^{2}Z_{2}^{2} + dX_{1}X_{2}Y_{1}Y_{2})
Z3=(Z12Z22dX1X2Y1Y2)(Z12Z22+dX1X2Y1Y2)Z_3=(Z_{1}^{2}Z_{2}^{2} - dX_{1}X_{2}Y_{1}Y_{2})(Z_{1}^{2}Z_{2}^{2} + dX_{1}X_{2}Y_{1}Y_{2})

Extended Form

Addition can be computed more efficiently in the extended Edwards form (X:Y:Z:T), where T=XY/Z: (X3:Y3:Z3:T3)=(X1:Y1:Z1:T1)+(X2:Y2:Z2:T2)(X_3:Y_3:Z_3:T_3) = (X_1:Y_1:Z_1:T_1) + (X_2:Y_2:Z_2:T_2) A=X1X2A = X_{1}X_{2} B=Y1Y2B = Y_{1}Y_{2} C=dT1T2C = dT_{1}T_{2} D=Z1Z2D = Z_{1}Z_{2} E=(X1+Y1)(X2+Y2)AB;F=DC;G=D+C;H=BA;E = (X_{1} + Y_{1})(X_{2} + Y_{2}) - A - B; F = D - C; G = D + C; H = B - A; X3=EFX_3 = E \cdot F Y3=GHY_3 = G \cdot H Z3=FGZ_3 = F \cdot G T3=EH;T_3 = E \cdot H;